## 插件开发

### 1. 环境搭建

这些工具供 Codex 编写、检查代码和查阅资料使用，交给它安装和配置即可。

| 工具或资料 | 用途 | 类型 | 必要性 |
| --- | --- | --- | --- |
| Lua 运行与语法检查：[Lua 5.1 / luac](https://www.lua.org/manual/5.1/) | 检查代码语法，运行基础测试 | 命令行工具（CLI） | 推荐 |
| 代码问题检查：[Luacheck](https://github.com/lunarmodules/luacheck) | 找出代码中的常见问题 | 命令行工具（CLI） | 推荐 |
| 代码格式整理：[StyLua](https://github.com/JohnnyMorganz/StyLua) | 让代码格式保持统一 | 命令行工具（CLI） | 推荐 |
| 客户端 UI 源码与 API 文档：[Gethe/wow-ui-source](https://github.com/Gethe/wow-ui-source) | 查阅匹配游戏版本的界面代码和功能接口 | 源码与文档，社区镜像 | 核心参考 |
| 插件开发百科：[Warcraft Wiki](https://warcraft.wiki.gg/wiki/World_of_Warcraft_API) | 查询游戏接口的用法和示例 | 在线社区文档 | 推荐 |
| 插件开发技能：[wow-addon-dev](https://github.com/TheMizeGuy/wow-addon-dev) | 为 AI 提供开发流程和参考模板 | Agent Skill（技能） | 可选 |
| 界面预览与截图：[Playwright](https://playwright.dev/) | 预览设计效果，方便审核和调整 | 浏览器自动化工具 | 按需 |

提示词：

```text
我要用 Codex 开发魔兽世界插件，根据表格和我提供的游戏版本，安装所需工具、准备参考资料和适用的 Skill。已有工具直接复用，完成后简要告诉我结果。
```

### 2. 项目初始化

让 Codex 整理好项目，后续代码、设计稿和资料就能各归其位。

| 初始化项目 | 包含内容与功能 |
| --- | --- |
| 项目文档 | `AGENTS.md`、`README.md` 等，记录 AI 工作规则、游戏版本和使用说明 |
| 文件夹结构 | 分开放置插件代码、设计稿、素材和参考资料，支持分别管理多个插件 |
| 检查工具 | 检查脚本与配置，让 Codex 在修改后自动检查代码 |
| 部署脚本 | 如 Windows 的 `deploy.ps1`，把插件安装到正确的游戏文件夹 |
| 版本管理配置 | 如 `.gitignore`，区分需要保存的项目文件和无需保存的临时文件 |

提示词：

```text
按上表初始化当前项目，准备文档、文件夹和必要脚本，方便后续开发魔兽世界插件。需要我补充的信息直接问我。
```

### 3. 需要提供的信息

开始准备环境前，先提供游戏版本；截图和显示设置可在制作界面原型前补充。

| 信息        | 简要说明                                                   |
| --------- | ------------------------------------------------------ |
| 游戏版本      | 说明正式服、经典服或具体版本名称，并提供游戏中运行 `/dump GetBuildInfo()` 的完整输出 |
| 电脑系统与插件路径 | 说明开发和游戏是否在同一台电脑，以及游戏机系统、实际 `Interface/AddOns` 路径       |
| 游戏完整截图    | 制作界面原型时使用，提供未裁剪、未缩放的游戏画面                               |
| 分辨率与界面缩放  | 提供游戏设置中的分辨率与 UI 缩放，方便确定界面大小和位置                         |

### 4. 开始构建插件

**制作 UI 原型。** 告诉 Codex 你想做什么插件，让它结合游戏截图制作可预览的界面。查看效果、提出修改，反复调整直到满意。

**实现插件代码。** 让 Codex 按确认的原型实现功能，并完成代码检查。本地检查通过后，仍需进入游戏验证实际效果。

**一键部署到游戏。** 让 Codex 完善部署脚本，把插件复制到指定的 AddOns 文件夹；先确认目标路径，再执行部署。跨电脑开发时，先把代码同步到游戏电脑。进入游戏测试，将截图、报错和遇到的问题交给 Codex 继续调整。

## 宏开发

先把游戏版本和语言告诉 Codex；版本信息可在游戏中运行 `/run print(GetBuildInfo())` 获取。下面的工具和资料由 Codex 准备，完成的宏或 WA 再放进游戏测试。

### 宏命令准备工作

| 工具或资料 | 用途 | 类型 | 必要性 |
| --- | --- | --- | --- |
| 宏命令入门：[Warcraft Wiki](https://warcraft.wiki.gg/wiki/Making_a_macro) | 了解宏的写法和基本规则 | 在线社区文档 | 核心参考 |
| 宏条件查询：[Macro conditionals](https://warcraft.wiki.gg/wiki/Macro_conditionals) | 查询鼠标指向、按住 Shift 等条件的写法 | 在线社区文档 | 核心参考 |
| 宏能力说明：[Macros: Essential Information](https://us.forums.blizzard.com/en/wow/t/macros-essential-information/21139) | 判断哪些操作可以用宏实现 | 官方论坛上的社区指南 | 推荐 |
| 宏编写技能：[wow-macro-commands](https://github.com/JBurlison/WoWAddonAPIAgents/blob/main/.github/skills/wow-macro-commands/SKILL.md) | 为 AI 提供宏编写参考，适用范围需核对 | Agent Skill（面向正式服） | 按版本选用 |
| 项目文档与目录 | 保存游戏版本、AI 工作规则、资料链接和宏文本 | 由 Codex 创建 | 推荐 |
| 宏检查脚本 | 根据上述文档检查宏的长度和基础格式 | 由 Codex 编写 | 推荐 |
| Lua 语法检查：[Lua 5.1 / luac](https://www.lua.org/manual/5.1/) | 检查宏中额外编写的 Lua 代码 | 命令行工具（CLI） | 含 Lua 代码时准备 |

提示词：

```text
我要用 Codex 编写魔兽世界宏，请根据上表和我提供的游戏版本，准备资料、适用的 Skill 和检查工具，并初始化项目文档与目录。已有内容直接复用，缺少的信息问我。
```

准备好后，直接描述想实现的操作，让 Codex 给出可复制的宏和测试方法，再粘贴到游戏中验证。

## WA 开发

### WA 准备工作

除游戏版本外，还需提供已安装的 WeakAuras 来源和版本。需要生成完整导入串时，先从同版本 WA 中导出一个简单样例交给 Codex。

| 工具或资料 | 用途 | 类型 | 必要性 |
| --- | --- | --- | --- |
| WA 使用与开发说明：[WeakAuras Wiki](https://github.com/WeakAuras/WeakAuras2/wiki) | 查询显示、触发条件和自定义代码的用法 | WA 官方文档 | 核心参考 |
| WA 源码参考：[WeakAuras2](https://github.com/WeakAuras/WeakAuras2) | 核对对应版本的功能和导入格式 | WA 官方源码 | 推荐 |
| 游戏接口参考：[Gethe/wow-ui-source](https://github.com/Gethe/wow-ui-source) | 查询匹配游戏版本的接口和事件 | 客户端源码社区镜像 | 涉及游戏接口时准备 |
| Lua 运行与语法检查：[Lua 5.1 / luac](https://www.lua.org/manual/5.1/) | 检查自定义代码的语法 | 命令行工具（CLI） | 编写自定义代码时准备 |
| 代码问题检查：[Luacheck](https://github.com/lunarmodules/luacheck) | 找出自定义代码中的常见问题 | 命令行工具（CLI） | 推荐 |
| 项目文档、目录与工作规则 | 保存版本、需求、WA 文件，并依据上述文档为 AI 整理工作流程 | 由 Codex 创建，可整理成 Skill | 推荐 |
| 导入串处理工具 | 依据 [WA 导入导出源码](https://github.com/WeakAuras/WeakAuras2/blob/main/WeakAuras/Transmission.lua)，读取、修改并重新生成导入串 | 由 Codex 编写并准备依赖 | 处理完整导入串时准备 |
| 游戏内导出的 WA 样例 | 为 Codex 提供匹配版本的起点 | 用户提供的导出文本 | 生成完整导入串前提供 |

提示词：

```text
我要用 Codex 制作魔兽世界 WA，请根据上表、我的游戏和 WA 版本，准备所需资料与工具，并初始化项目文档、目录和工作规则。需要导出样例或其他信息时告诉我怎么获取，已有内容直接复用。
```

准备好后，告诉 Codex 想显示什么、什么时候出现。优先使用 WA 自带设置，必要时再写代码；最终效果和导入是否成功，都要在游戏中确认。

> **专注 AI 与个人知识管理**
> 本文属于 [杰森的效率工坊](https://jasonai.me)原创。未经允许禁止商用。
> 
> **订阅杰森的频道：**
> [YouTube](https://www.youtube.com/@JasonEfficiencyLab) · [Twitter(X)](https://x.com/JasonEffiLab) · [小红书](https://www.xiaohongshu.com/user/profile/60935957000000000101fbf7) · [B站](https://space.bilibili.com/3546884870244925)